<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.16"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>JCSDK Java API Reference for Android: com.juphoon.cloud.JCClient Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">JCSDK Java API Reference for Android
   &#160;<span id="projectnumber">2.3.3</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.16 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><b>com</b></li><li class="navelem"><b>juphoon</b></li><li class="navelem"><b>cloud</b></li><li class="navelem"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">com.juphoon.cloud.JCClient Class Reference<span class="mlabels"><span class="mlabel">abstract</span></span><div class="ingroups"><a class="el" href="group___xE7_x99_xBB_xE5_xBD_x95_xE6_xA8_xA1_xE5_x9D_x97.html">登录模块</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>Inherited by com.juphoon.cloud.JCClientImpl.</p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">class &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aa1c8cc260d41c28c02d30cc4e333f650"><td class="memItemLeft" align="right" valign="top">abstract String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#aa1c8cc260d41c28c02d30cc4e333f650">getAppkey</a> ()</td></tr>
<tr class="separator:aa1c8cc260d41c28c02d30cc4e333f650"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8555e9f1e2c67bd813c5cbf28ec24c78"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a8555e9f1e2c67bd813c5cbf28ec24c78">setDisplayName</a> (@NonNull String displayName)</td></tr>
<tr class="separator:a8555e9f1e2c67bd813c5cbf28ec24c78"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bee19ad81ecdd45585a33afe5ba19e8"><td class="memItemLeft" align="right" valign="top">abstract String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a2bee19ad81ecdd45585a33afe5ba19e8">getDisplayName</a> ()</td></tr>
<tr class="separator:a2bee19ad81ecdd45585a33afe5ba19e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac46c21831cafc985e09b2555363c1b75"><td class="memItemLeft" align="right" valign="top">abstract void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#ac46c21831cafc985e09b2555363c1b75">setForeground</a> (boolean foreground)</td></tr>
<tr class="separator:ac46c21831cafc985e09b2555363c1b75"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5882f7356ba93b8413b9b8654973cca6"><td class="memItemLeft" align="right" valign="top">abstract String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a5882f7356ba93b8413b9b8654973cca6">getUserId</a> ()</td></tr>
<tr class="separator:a5882f7356ba93b8413b9b8654973cca6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a49f7f20bd91ae9534bd7ca9d67f89efb"><td class="memItemLeft" align="right" valign="top">abstract String&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a49f7f20bd91ae9534bd7ca9d67f89efb">getServerAddress</a> ()</td></tr>
<tr class="separator:a49f7f20bd91ae9534bd7ca9d67f89efb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9662a6f13921508ebefa58b0d684f6cd"><td class="memItemLeft" align="right" valign="top">abstract int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a9662a6f13921508ebefa58b0d684f6cd">getState</a> ()</td></tr>
<tr class="separator:a9662a6f13921508ebefa58b0d684f6cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a472dce74c754f48b5f1438889ec4ecf1"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a472dce74c754f48b5f1438889ec4ecf1">getCreateParam</a> ()</td></tr>
<tr class="separator:a472dce74c754f48b5f1438889ec4ecf1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc8322301e634ad964780c75683c92fe"><td class="memItemLeft" align="right" valign="top">abstract <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#afc8322301e634ad964780c75683c92fe">getLoginParam</a> ()</td></tr>
<tr class="separator:afc8322301e634ad964780c75683c92fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a50016ca73cd0dacf5c26aafc5839260f"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a50016ca73cd0dacf5c26aafc5839260f">login</a> (@NonNull String userId, @NonNull String password, @Nullable String serverAddress, @Nullable <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> loginParam)</td></tr>
<tr class="separator:a50016ca73cd0dacf5c26aafc5839260f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba212cd8810310f5cc43303c14501b7a"><td class="memItemLeft" align="right" valign="top">abstract boolean&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#aba212cd8810310f5cc43303c14501b7a">logout</a> ()</td></tr>
<tr class="separator:aba212cd8810310f5cc43303c14501b7a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a52b98d4205d6982b4824315e0a8af3b9"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a52b98d4205d6982b4824315e0a8af3b9">create</a> (@NonNull Context context, @NonNull String appKey, @NonNull <a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html">JCClientCallback</a> callback, @Nullable <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a> createParam)</td></tr>
<tr class="separator:a52b98d4205d6982b4824315e0a8af3b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd2650179703143c962702443a844ab0"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#abd2650179703143c962702443a844ab0">destroy</a> ()</td></tr>
<tr class="separator:abd2650179703143c962702443a844ab0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:a9265e400dcb439ba508abd30174c380d"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a9265e400dcb439ba508abd30174c380d">STATE_NOT_INIT</a> = 0</td></tr>
<tr class="separator:a9265e400dcb439ba508abd30174c380d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28e87d075d1b1728a2a422dd7a39358b"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a28e87d075d1b1728a2a422dd7a39358b">STATE_IDLE</a> = 1</td></tr>
<tr class="separator:a28e87d075d1b1728a2a422dd7a39358b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7adec5ed69976533290153b031661897"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a7adec5ed69976533290153b031661897">STATE_LOGINING</a> = 2</td></tr>
<tr class="separator:a7adec5ed69976533290153b031661897"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d450770754ef140640914dff0ad360b"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a5d450770754ef140640914dff0ad360b">STATE_LOGINED</a> = 3</td></tr>
<tr class="separator:a5d450770754ef140640914dff0ad360b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d271dedddd351f149e56f02e234147d"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a6d271dedddd351f149e56f02e234147d">STATE_LOGOUTING</a> = 4</td></tr>
<tr class="separator:a6d271dedddd351f149e56f02e234147d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaac75ed688284ccfa03a536338e694b10"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gaac75ed688284ccfa03a536338e694b10">REASON_NONE</a> = 0</td></tr>
<tr class="separator:gaac75ed688284ccfa03a536338e694b10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6a6cac2667b160efe28cf4b97f652a20"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga6a6cac2667b160efe28cf4b97f652a20">REASON_SDK_NOT_INIT</a> = 1</td></tr>
<tr class="separator:ga6a6cac2667b160efe28cf4b97f652a20"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac692ac99cd9f4c9abc39ecbbf750e457"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gac692ac99cd9f4c9abc39ecbbf750e457">REASON_INVALID_PARAM</a> = 2</td></tr>
<tr class="separator:gac692ac99cd9f4c9abc39ecbbf750e457"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaa9664ac0f5b3eacdf3fef9ad78da85c0"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gaa9664ac0f5b3eacdf3fef9ad78da85c0">REASON_CALL_FUNCTION_ERROR</a> = 3</td></tr>
<tr class="separator:gaa9664ac0f5b3eacdf3fef9ad78da85c0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab0adbd5a1e30cc0f664dc60da546947a"><td class="memItemLeft" align="right" valign="top">
static final int&#160;</td><td class="memItemRight" valign="bottom"><b>REASON_STATE_CANNOT_LOGIN</b> = 4</td></tr>
<tr class="separator:gab0adbd5a1e30cc0f664dc60da546947a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c5b53bcda442f6642ab0725202b4e32"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga0c5b53bcda442f6642ab0725202b4e32">REASON_TIMEOUT</a> = 5</td></tr>
<tr class="separator:ga0c5b53bcda442f6642ab0725202b4e32"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga32273c0fdb30edd63c61112a3d18b28a"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga32273c0fdb30edd63c61112a3d18b28a">REASON_NETWORK</a> = 6</td></tr>
<tr class="separator:ga32273c0fdb30edd63c61112a3d18b28a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac58f401c4e0b9739034e804bd598e35e"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gac58f401c4e0b9739034e804bd598e35e">REASON_APPKEY</a> = 7</td></tr>
<tr class="separator:gac58f401c4e0b9739034e804bd598e35e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga98938d6a4f54883f8667ce0cf8cec2bf"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga98938d6a4f54883f8667ce0cf8cec2bf">REASON_AUTH</a> = 8</td></tr>
<tr class="separator:ga98938d6a4f54883f8667ce0cf8cec2bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab33ae9b14cfa6b7277029c1481dfafab"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gab33ae9b14cfa6b7277029c1481dfafab">REASON_NOUSER</a> = 9</td></tr>
<tr class="separator:gab33ae9b14cfa6b7277029c1481dfafab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga4e6b7f413f02b919d16b1a8aa0cec9b9"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga4e6b7f413f02b919d16b1a8aa0cec9b9">REASON_SERVER_LOGOUT</a> = 10</td></tr>
<tr class="separator:ga4e6b7f413f02b919d16b1a8aa0cec9b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga7c2bb521d54f9c0a4fd5e47861ff64e7"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga7c2bb521d54f9c0a4fd5e47861ff64e7">REASON_ANOTHER_DEVICE_LOGINED</a> = 11</td></tr>
<tr class="separator:ga7c2bb521d54f9c0a4fd5e47861ff64e7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1a027008a9d8cf1f299be5fa4101621f"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga1a027008a9d8cf1f299be5fa4101621f">REASON_LOCAL_REQUEST</a> = 12</td></tr>
<tr class="separator:ga1a027008a9d8cf1f299be5fa4101621f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga5cdbadea6dcb30b7d869e4fd5407119e"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga5cdbadea6dcb30b7d869e4fd5407119e">REASON_SEND_MESSAGE</a> = 13</td></tr>
<tr class="separator:ga5cdbadea6dcb30b7d869e4fd5407119e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae687ba307fedeec181989fcaf191d338"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gae687ba307fedeec181989fcaf191d338">REASON_SERVER_BUSY</a> = 14</td></tr>
<tr class="separator:gae687ba307fedeec181989fcaf191d338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac05d9f972cedee8a9ae37d68f87533f6"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gac05d9f972cedee8a9ae37d68f87533f6">REASON_SERVER_NOT_REACH</a> = 15</td></tr>
<tr class="separator:gac05d9f972cedee8a9ae37d68f87533f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61e729ff8bd778e98974e80fd2a95091"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga61e729ff8bd778e98974e80fd2a95091">REASON_SERVER_FORBIDDEN</a> = 16</td></tr>
<tr class="separator:ga61e729ff8bd778e98974e80fd2a95091"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf40b3c8e40c8892b43e9919e7c2cf2dd"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gaf40b3c8e40c8892b43e9919e7c2cf2dd">REASON_SERVER_UNAVAILABLE</a> = 17</td></tr>
<tr class="separator:gaf40b3c8e40c8892b43e9919e7c2cf2dd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1250788f0815d3a7882b61b4a984f060"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga1250788f0815d3a7882b61b4a984f060">REASON_DNS_QUERY</a> = 18</td></tr>
<tr class="separator:ga1250788f0815d3a7882b61b4a984f060"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2f4c1339d3e238e3b072a83e06f91265"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga2f4c1339d3e238e3b072a83e06f91265">REASON_INTERNAL</a> = 19</td></tr>
<tr class="separator:ga2f4c1339d3e238e3b072a83e06f91265"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga210ee0ba50e3adc7186ed1a6cd76467d"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga210ee0ba50e3adc7186ed1a6cd76467d">REASON_NO_RESOURCE</a> = 20</td></tr>
<tr class="separator:ga210ee0ba50e3adc7186ed1a6cd76467d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga152c05703e822f4abb5ca772282a2f40"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga152c05703e822f4abb5ca772282a2f40">REASON_NO_NONCE</a> = 21</td></tr>
<tr class="separator:ga152c05703e822f4abb5ca772282a2f40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gacfa691efc3a284658a07fe27601e96f9"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#gacfa691efc3a284658a07fe27601e96f9">REASON_INVALID_AUTH_CODE</a> = 22</td></tr>
<tr class="separator:gacfa691efc3a284658a07fe27601e96f9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61d00a81f5251da7383df487153f5877"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga61d00a81f5251da7383df487153f5877">REASON_TOKEN_MISMATCH</a> = 23</td></tr>
<tr class="separator:ga61d00a81f5251da7383df487153f5877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga303ba82ec878b0ac7dc7c099f46d7e97"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__error.html#ga303ba82ec878b0ac7dc7c099f46d7e97">REASON_OTHER</a> = 100</td></tr>
<tr class="separator:ga303ba82ec878b0ac7dc7c099f46d7e97"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b5c783ad546b5bddddff7e6e0e48f26"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a2b5c783ad546b5bddddff7e6e0e48f26">LOG_LEVEL_DISABLE</a> = 0</td></tr>
<tr class="separator:a2b5c783ad546b5bddddff7e6e0e48f26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c33cbbe6f18fcecb6aea1a76d827f07"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a4c33cbbe6f18fcecb6aea1a76d827f07">LOG_LEVEL_ERROR</a> = 1</td></tr>
<tr class="separator:a4c33cbbe6f18fcecb6aea1a76d827f07"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab120ed6d2d291ad35feef6c2689a9b8d"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#ab120ed6d2d291ad35feef6c2689a9b8d">LOG_LEVEL_INFO</a> = 2</td></tr>
<tr class="separator:ab120ed6d2d291ad35feef6c2689a9b8d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2b577deb36f5b13a4b73431e839e20c"><td class="memItemLeft" align="right" valign="top">static final int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#ad2b577deb36f5b13a4b73431e839e20c">LOG_LEVEL_DEBUG</a> = 3</td></tr>
<tr class="separator:ad2b577deb36f5b13a4b73431e839e20c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>用于初始化sdk以及登录 Juphoon Cloud 平台 </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a52b98d4205d6982b4824315e0a8af3b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a52b98d4205d6982b4824315e0a8af3b9">&#9670;&nbsp;</a></span>create()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> com.juphoon.cloud.JCClient.create </td>
          <td>(</td>
          <td class="paramtype">@NonNull Context&#160;</td>
          <td class="paramname"><em>context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">@NonNull String&#160;</td>
          <td class="paramname"><em>appKey</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">@NonNull <a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html">JCClientCallback</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">@Nullable <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a>&#160;</td>
          <td class="paramname"><em>createParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>创建 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象</p>
<p><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 的所有接口函数，如无特殊说明，都建议在主线程调用</p>
<dl class="section note"><dt>Note</dt><dd><ul>
<li>请确保在调用其他 API 前先调用该方法创建并初始化 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象</li>
<li>调用此方法创建 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象后，期间没有调用过 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#abd2650179703143c962702443a844ab0">destroy</a> 方法销毁对象，然后又重复调用此方法，会直接返回第一次创建的 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象</li>
</ul>
</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">context</td><td>上下文句柄 </td></tr>
    <tr><td class="paramname">appKey</td><td>用户从 Juphoon Cloud 平台上创建应用获取的 AppKey 字符串，详见<a href="https://developer.juphoon.com/cn/document/V2.1/create-application.php">获取 appKey</a> </td></tr>
    <tr><td class="paramname">callback</td><td><a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html">JCClientCallback</a> 对象，用于回调相关通知 </td></tr>
    <tr><td class="paramname">createParam</td><td>创建参数，详细定义见 CreateParam。传 null 则使用默认值 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象 </dd></dl>
<dl class="exception"><dt>Exceptions</dt><dd>
  <table class="exception">
    <tr><td class="paramname">context、appKey、JCClientCallback 任意参数传空就会抛出异常</td><td></td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="abd2650179703143c962702443a844ab0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abd2650179703143c962702443a844ab0">&#9670;&nbsp;</a></span>destroy()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void com.juphoon.cloud.JCClient.destroy </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>销毁 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象</p>
<dl class="section note"><dt>Note</dt><dd>此方法为异步调用，所以在调用此方法后不能马上调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a52b98d4205d6982b4824315e0a8af3b9">create</a> 方法重新创建 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html">JCClient</a> 对象 </dd></dl>

</div>
</div>
<a id="aa1c8cc260d41c28c02d30cc4e333f650"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa1c8cc260d41c28c02d30cc4e333f650">&#9670;&nbsp;</a></span>getAppkey()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract String com.juphoon.cloud.JCClient.getAppkey </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获取Appkey</p>
<p>返回的Appkey是由 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a52b98d4205d6982b4824315e0a8af3b9">create</a> 方法传入的</p>
<dl class="section return"><dt>Returns</dt><dd>Appkey </dd></dl>

</div>
</div>
<a id="a8555e9f1e2c67bd813c5cbf28ec24c78"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8555e9f1e2c67bd813c5cbf28ec24c78">&#9670;&nbsp;</a></span>setDisplayName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract void com.juphoon.cloud.JCClient.setDisplayName </td>
          <td>(</td>
          <td class="paramtype">@NonNull String&#160;</td>
          <td class="paramname"><em>displayName</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>设置自己的昵称</p>
<p>在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_call.html#a59d130b9ceee810c6b805db53a78c9c4">call</a> 发起呼叫时，调用 sendMessage、sendFile 发送消息时、 调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_media_channel.html#ad8914349661b483beb573152f63023b8">join</a> 加入频道时，都会将自己的昵称发送给其他用户。以下是各场景获取对方昵称的方法：<br  />
</p><ul>
<li>通话场景获取对方昵称：<a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_call_item.html#a713b6e8d73772416fbb8f34161a66754">getDisplayName</a></li>
<li>消息场景获取对方昵称：getDisplayName</li>
<li>会议频道场景获取对方昵称：<a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_media_channel_participant.html#a95d29e6cb21b32761858ead84e796fcc">getDisplayName</a></li>
</ul>
<dl class="section note"><dt>Note</dt><dd>每次调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a52b98d4205d6982b4824315e0a8af3b9">create</a> 方法初始化 SDK 后都需要重新设置</dd></dl>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">displayName</td><td>要设置的昵称 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a2bee19ad81ecdd45585a33afe5ba19e8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2bee19ad81ecdd45585a33afe5ba19e8">&#9670;&nbsp;</a></span>getDisplayName()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract String com.juphoon.cloud.JCClient.getDisplayName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获取自己的昵称</p>
<dl class="section return"><dt>Returns</dt><dd>自己的昵称 </dd></dl>

</div>
</div>
<a id="ac46c21831cafc985e09b2555363c1b75"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac46c21831cafc985e09b2555363c1b75">&#9670;&nbsp;</a></span>setForeground()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract void com.juphoon.cloud.JCClient.setForeground </td>
          <td>(</td>
          <td class="paramtype">boolean&#160;</td>
          <td class="paramname"><em>foreground</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>是否设置为前台</p>
<p>应用进入前台或进入后台都需要调用此方法进行设置。应用被设置为后台时，可以优化数据链路从而减少耗电量</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">foreground</td><td>是否设置为前台<ul>
<li>true: 设置为前台</li>
<li>false: 设置为后台 </li>
</ul>
</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="a5882f7356ba93b8413b9b8654973cca6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5882f7356ba93b8413b9b8654973cca6">&#9670;&nbsp;</a></span>getUserId()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract String com.juphoon.cloud.JCClient.getUserId </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获得用户标识</p>
<p>返回的用户标识就是用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a50016ca73cd0dacf5c26aafc5839260f">login</a> 方法时传入的 userId 参数，需要注意的是只有用户状态为登录中或已登录才能获取到值，其他状态将返回 null</p>
<dl class="section return"><dt>Returns</dt><dd>用户标识 </dd></dl>

</div>
</div>
<a id="a49f7f20bd91ae9534bd7ca9d67f89efb"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a49f7f20bd91ae9534bd7ca9d67f89efb">&#9670;&nbsp;</a></span>getServerAddress()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract String com.juphoon.cloud.JCClient.getServerAddress </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获取登录服务器地址</p>
<p>返回的登录地址就是用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a50016ca73cd0dacf5c26aafc5839260f">login</a> 方法时传入的 serverAddress 参数，若用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a50016ca73cd0dacf5c26aafc5839260f">login</a> 方法时，serverAddress 传入了 null 或者 ""，将返回默认地址 <a href="http:cn.router.justalkcloud.com:8080">http:cn.router.justalkcloud.com:8080</a>。<br  />
 需要注意的是只有用户状态为登录中或已登录才能获取到值，其他状态将返回 null</p>
<dl class="section return"><dt>Returns</dt><dd>登录服务器地址 </dd></dl>

</div>
</div>
<a id="a9662a6f13921508ebefa58b0d684f6cd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9662a6f13921508ebefa58b0d684f6cd">&#9670;&nbsp;</a></span>getState()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract int com.juphoon.cloud.JCClient.getState </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获取当前登录状态</p>
<dl class="section return"><dt>Returns</dt><dd>当前登录状态：<ul>
<li><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a9265e400dcb439ba508abd30174c380d">STATE_NOT_INIT</a> : 未初始化</li>
<li><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a28e87d075d1b1728a2a422dd7a39358b">STATE_IDLE</a> : 未登录</li>
<li><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a7adec5ed69976533290153b031661897">STATE_LOGINING</a> : 登录中</li>
<li><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a5d450770754ef140640914dff0ad360b">STATE_LOGINED</a> : 登录成功</li>
<li><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a6d271dedddd351f149e56f02e234147d">STATE_LOGOUTING</a> : 登出中 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a472dce74c754f48b5f1438889ec4ecf1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a472dce74c754f48b5f1438889ec4ecf1">&#9670;&nbsp;</a></span>getCreateParam()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a> com.juphoon.cloud.JCClient.getCreateParam </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获取创建参数</p>
<p>返回的创建参数就是用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a52b98d4205d6982b4824315e0a8af3b9">create</a> 方法时传入的 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a> 参数，若用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a52b98d4205d6982b4824315e0a8af3b9">create</a> 方法时，CreateParam 传入了 null，则返回默认的 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a> 对象</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_create_param.html">CreateParam</a> 创建参数对象 </dd></dl>

</div>
</div>
<a id="afc8322301e634ad964780c75683c92fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc8322301e634ad964780c75683c92fe">&#9670;&nbsp;</a></span>getLoginParam()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> com.juphoon.cloud.JCClient.getLoginParam </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>获取登录参数</p>
<p>返回的登录参数就是用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a50016ca73cd0dacf5c26aafc5839260f">login</a> 方法时传入的 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> 参数，若用户在调用 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client.html#a50016ca73cd0dacf5c26aafc5839260f">login</a> 方法时， <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> 传入了 null，则将返回默认的 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> 对象。<br  />
 需要注意的是只有用户状态为登录中或已登录时才能获取到值，其他状态将返回 null</p>
<dl class="section return"><dt>Returns</dt><dd><a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> 登录参数对象 </dd></dl>

</div>
</div>
<a id="a50016ca73cd0dacf5c26aafc5839260f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a50016ca73cd0dacf5c26aafc5839260f">&#9670;&nbsp;</a></span>login()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean com.juphoon.cloud.JCClient.login </td>
          <td>(</td>
          <td class="paramtype">@NonNull String&#160;</td>
          <td class="paramname"><em>userId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">@NonNull String&#160;</td>
          <td class="paramname"><em>password</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">@Nullable String&#160;</td>
          <td class="paramname"><em>serverAddress</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">@Nullable <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a>&#160;</td>
          <td class="paramname"><em>loginParam</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>登录 Juphoon Cloud 平台</p>
<p>只有登录成功后才能进行平台上的各种业务</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">userId</td><td>用户名，长度在 64 字节以内的字符串。以下为支持的字符集范围（共 66 个字符）：<ul>
<li>26 个小写英文字母 a-z</li>
<li>26 个大写英文字母 A-Z</li>
<li>10 个数字 0-9</li>
<li>'+'，'-'，'_'，'.'。另外 '-'，'_'，'.' 这三个字符不能处于用户名的第一位 </li>
</ul>
</td></tr>
    <tr><td class="paramname">password</td><td>密码，不能为 null 或 ""，长度不能超过 128 字符 </td></tr>
    <tr><td class="paramname">serverAddress</td><td>登录服务器地址，默认地址为 <a href="http:cn.router.justalkcloud.com:8080">http:cn.router.justalkcloud.com:8080</a>（国内环境）。如果是海外用户需要设置为 <a href="http:intl.router.justalkcloud.com:8080">http:intl.router.justalkcloud.com:8080</a>（国际环境） </td></tr>
    <tr><td class="paramname">loginParam</td><td>登录参数，传 null 则按默认值。一般不需要设置，如需设置请询问客服，详细定义见 <a class="el" href="classcom_1_1juphoon_1_1cloud_1_1_j_c_client_1_1_login_param.html">LoginParam</a> </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>调用是否成功<ul>
<li>true：正常执行调用流程，登录结果通过 <a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html#a140787dfdb6fe710bb346af98c84a88f">onLogin</a> 通知</li>
<li>false：调用失败，不会收到 <a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html#a140787dfdb6fe710bb346af98c84a88f">onLogin</a> 通知 </li>
</ul>
</dd></dl>

</div>
</div>
<a id="aba212cd8810310f5cc43303c14501b7a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aba212cd8810310f5cc43303c14501b7a">&#9670;&nbsp;</a></span>logout()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">abstract boolean com.juphoon.cloud.JCClient.logout </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">abstract</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>登出 Juphoon Cloud 平台</p>
<p>登出后不能进行平台上的各种业务</p>
<dl class="section return"><dt>Returns</dt><dd>调用是否成功<ul>
<li>true：正常执行调用流程，登出结果通过 <a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html#a72ef9659ee44469d1925b03700a9fc98">onLogout</a> 通知</li>
<li>false：调用失败，不会收到 <a class="el" href="interfacecom_1_1juphoon_1_1cloud_1_1_j_c_client_callback.html#a72ef9659ee44469d1925b03700a9fc98">onLogout</a> 通知 </li>
</ul>
</dd></dl>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a9265e400dcb439ba508abd30174c380d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9265e400dcb439ba508abd30174c380d">&#9670;&nbsp;</a></span>STATE_NOT_INIT</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.STATE_NOT_INIT = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>未初始化 </p>

</div>
</div>
<a id="a28e87d075d1b1728a2a422dd7a39358b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a28e87d075d1b1728a2a422dd7a39358b">&#9670;&nbsp;</a></span>STATE_IDLE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.STATE_IDLE = 1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>未登录 </p>

</div>
</div>
<a id="a7adec5ed69976533290153b031661897"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7adec5ed69976533290153b031661897">&#9670;&nbsp;</a></span>STATE_LOGINING</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.STATE_LOGINING = 2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>登录中 </p>

</div>
</div>
<a id="a5d450770754ef140640914dff0ad360b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d450770754ef140640914dff0ad360b">&#9670;&nbsp;</a></span>STATE_LOGINED</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.STATE_LOGINED = 3</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>登录成功 </p>

</div>
</div>
<a id="a6d271dedddd351f149e56f02e234147d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6d271dedddd351f149e56f02e234147d">&#9670;&nbsp;</a></span>STATE_LOGOUTING</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.STATE_LOGOUTING = 4</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>登出中 </p>

</div>
</div>
<a id="a2b5c783ad546b5bddddff7e6e0e48f26"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2b5c783ad546b5bddddff7e6e0e48f26">&#9670;&nbsp;</a></span>LOG_LEVEL_DISABLE</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.LOG_LEVEL_DISABLE = 0</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>不打印日志 </p>

</div>
</div>
<a id="a4c33cbbe6f18fcecb6aea1a76d827f07"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c33cbbe6f18fcecb6aea1a76d827f07">&#9670;&nbsp;</a></span>LOG_LEVEL_ERROR</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.LOG_LEVEL_ERROR = 1</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>只打印 error 等级的日志 </p>

</div>
</div>
<a id="ab120ed6d2d291ad35feef6c2689a9b8d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab120ed6d2d291ad35feef6c2689a9b8d">&#9670;&nbsp;</a></span>LOG_LEVEL_INFO</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.LOG_LEVEL_INFO = 2</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>只打印 info 和 error 等级的日志 </p>

</div>
</div>
<a id="ad2b577deb36f5b13a4b73431e839e20c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad2b577deb36f5b13a4b73431e839e20c">&#9670;&nbsp;</a></span>LOG_LEVEL_DEBUG</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">final int com.juphoon.cloud.JCClient.LOG_LEVEL_DEBUG = 3</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>打印所有等级的日志 </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>cloud/src/main/common/com/juphoon/cloud/JCClient.java</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.16
</small></address>
</body>
</html>
